﻿Imports System
Imports System.Collections
Imports System.Configuration
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.Page
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.EnterpriseServices
Imports System.Xml
Imports Comunes
Public Class cls_sesion
    Inherits System.Web.UI.Page

    Public v_obj_wsService As New Service.Service
    Public v_obj_clsParametros As New Parametros()
    Public v_obj_clsLibreria As New clsLibreria()
    Public v_dts_respuesta As New DataSet
    Public v_obj_json As New clsJsonSR.clsJsonSR()
    Public v_obj_clsErrores As New cls_errores()
    Public v_str_keyConn As String = System.Configuration.ConfigurationManager.AppSettings.Get("KeyConexion")
    Public v_str_glsError As String = ""
    Public v_str_srcError As String = ""
    Public v_str_wsError As String = ""
    Public v_str_metError As String = ""
    Public v_str_numError As String = ""    
    Public v_str_respuestaJson As String = ""

    Protected _SESE_NID As String
    Protected _USUS_NID As Integer
    Protected _USUS_USUARIO As String
    Protected _PEPE_NID As Integer
    Protected _SESE_FECHA_ACCESO As String    

    Property SESE_NID() As String
        Get
            Return _SESE_NID
        End Get
        Set(ByVal value As String)
            _SESE_NID = value
        End Set
    End Property
    Property USUS_NID() As Integer
        Get
            Return _USUS_NID
        End Get
        Set(ByVal value As Integer)
            _USUS_NID = value
        End Set
    End Property
    Property USUS_USUARIO() As String
        Get
            Return _USUS_USUARIO
        End Get
        Set(ByVal value As String)
            _USUS_USUARIO = value
        End Set
    End Property
    Property PEPE_NID() As String
        Get
            Return _PEPE_NID
        End Get
        Set(ByVal value As String)
            _PEPE_NID = value
        End Set
    End Property
    Property SESE_FECHA_ACCESO() As String
        Get
            Return _SESE_FECHA_ACCESO
        End Get
        Set(ByVal value As String)
            _SESE_FECHA_ACCESO = value
        End Set
    End Property

    Sub New()
        _SESE_NID = ""
        _USUS_NID = 0
        _USUS_USUARIO = ""
        _PEPE_NID = 0
        _SESE_FECHA_ACCESO = ""
    End Sub

    Public Overloads Sub onload(ByVal Sender As System.Object, ByVal E As System.EventArgs) Handles MyBase.Load
        Dim url_nosession As String = Request.ApplicationPath & "/AppFront/nosession.aspx"
        Try


            If Session("SESE_NID") Is Nothing Then
                'UtilidadesPaginas.EjecutaScript("alert('Su sesión ha caducado. Vuelva a iniciar sesión.');top.location.href='" & Request.ApplicationPath & "/Login.aspx';", Page)
                UtilidadesPaginas.EjecutaScript("Ext.Ajax.request({url:'" & url_nosession & "',method:'POST',timeout : 30000});", Page)

            Else
                v_obj_clsParametros.Limpiar()
                v_obj_clsParametros.Agregar("SESE_NID", Session("SESE_NID"))
                v_dts_respuesta = v_obj_wsService.EjecutarConParametroXML(v_str_keyConn, v_obj_clsParametros.GeneraDocXML("parametros"), "SPBS_SESE_OBTENER_SESION_USUARIO")
                If v_obj_clsLibreria.RevisaErrores(v_dts_respuesta, v_str_glsError, v_str_srcError, v_str_wsError, v_str_metError, v_str_numError) = "0" Then
                    If v_dts_respuesta.Tables(0).Rows(0).Item("NUM_ERROR").ToString = "0" Then
                        With v_dts_respuesta.Tables(0).Rows(0)
                            SESE_NID = .Item("SESE_NID").ToString
                            USUS_NID = .Item("USUS_NID").ToString
                            USUS_USUARIO = .Item("USUS_USUARIO").ToString
                            PEPE_NID = .Item("PEPE_NID").ToString
                            SESE_FECHA_ACCESO = .Item("SESE_FECHA_ACCESO").ToString
                            Session("USUS_NOMBRECOMPLETO") = .Item("USUS_NOMBRECOMPLETO").ToString
                            Session("PEPE_NOMBRE") = .Item("PEPE_NOMBRE").ToString
                            Session("SESE_FECHA") = .Item("SESE_FECHA").ToString
                            Session("LOGIN_USUARIO") = .Item("USUS_USUARIO").ToString
                        End With
                    Else
                        'UtilidadesPaginas.EjecutaScript("alert('Su sesión ha caducado. Vuelva a iniciar sesión.');top.location.href='" & Request.ApplicationPath & "/Login.aspx';", Page)
                        UtilidadesPaginas.EjecutaScript("Ext.Ajax.request({url:'" & url_nosession & "',method:'POST',timeout : 30000});", Page)
                    End If
                Else
                    v_obj_clsErrores.id = v_str_numError
                    v_obj_clsErrores.desc = v_str_glsError
                    v_obj_clsErrores.metodo = "Load"
                    v_obj_clsErrores.clase = "cls_sesion"
                    v_obj_clsErrores.registraErrorEnLog()
                End If
            End If
        Catch ex As Exception
            'UtilidadesPaginas.EjecutaScript("alert('Su sesión ha caducado. Vuelva a iniciar sesión.');top.location.href='" & Request.ApplicationPath & "/Login.aspx';", Page)
            v_obj_clsErrores.id = -1001
            v_obj_clsErrores.desc = ex.Message
            v_obj_clsErrores.metodo = "Load"
            v_obj_clsErrores.clase = "cls_sesion"
            v_obj_clsErrores.registraErrorEnLog()
            UtilidadesPaginas.EjecutaScript("Ext.Ajax.request({url:'" & url_nosession & "',method:'POST',timeout : 30000});", Page)
        Finally
            v_dts_respuesta.Dispose()
        End Try
    End Sub
End Class